準備技術:
今天要探討Web APP與Web Container關係。
我們在Web APP中寫入web.xml設定載入到Servlet Container的東西,web.xml是Java Web Server與APP之間的關聯,Java Web Server很喜歡xml這種設定檔案,在其他框架如Struts2等等都可以看到。
設計一個Web Container。繼承的是Servlet不是HTTPServlet,所以沒有doGet/doPost方法,只讓Servlet 秀出"Hello! Toy"文字在網頁上。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class ToyServletContainer implements Servlet{
@Override
public void destroy() {
System.out.println("destroy Toy Servlet Container");
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig scfg) throws ServletException {
System.out.println("init Toy Web Servlet Container");
}
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
System.out.println("from service");
PrintWriter out = response.getWriter();
//網頁上秀出文字
out.println("Hello! Toy.");
}
}
執行後,可以見到記錄檔案顯示Container執行了init,Service方法。
參考資料
1. Java EE 7 Recipes :A Problem-Solution Approach
Day4 結束